package dongshi.daddy.huohuo;

import org.junit.Test;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

public class TestComputeIfAbsent {
    static HashMap<String, Set<String>> hashMap = new HashMap<>();

    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("zhangSan");
        set.add("liSi");
        hashMap.put("china", set);

        // 判断map中是否存在，如果存在则添加元素到set中，如果不存在则新建set添加到hashMap中
        if (hashMap.containsKey("china")) {
            System.out.println("china 存在");
        } else {
            Set<String> setTmp = new HashSet<>();
            setTmp.add("zhangSan");
            setTmp.add("liSi");
            hashMap.put("china", setTmp);
        }

        if (hashMap.containsKey("america")) {
        } else {
            System.out.println("america 不存在");
            Set<String> setTmp = new HashSet<>();
            setTmp.add("curry");
            setTmp.add("kobe");
            hashMap.put("america", setTmp);
        }

        System.out.println(hashMap.toString());
    }

    @Test
    public void testComputeIfAbsent() {
        Set<String> set = new HashSet<>();
        set.add("zhangSan");
        set.add("liSi");
        hashMap.put("china", set);

        hashMap.computeIfAbsent("china", s -> new HashSet() {
            {

                add("zhangSan");
                add("liSi");
            }
        });
        hashMap.computeIfAbsent("america", s -> new HashSet() {
            {
                System.out.println("america不存在");
                add("curry");
                add("kobe");
            }
        });
        System.out.println(hashMap.toString());
    }
}